Automatic detection of Long Method and God Class code smells through neural source code embeddings

نویسندگان

چکیده

Code smells are structures in code that often harm its quality. Manually detecting is challenging, so researchers proposed many automatic detectors. Traditional smell detectors employ metric-based heuristics, but have recently adopted a Machine-Learning (ML) based approach. This paper compares the performance of multiple ML-based detection models against heuristics for God Class and Long Method smells. We assess effectiveness different source representations ML: we evaluate traditionally used metrics embeddings (code2vec, code2seq, CuBERT). study first to pre-trained neural best our knowledge. approach helped us leverage power transfer learning – explore whether knowledge mined from understanding can be transferred detection. A secondary contribution research systematic evaluation approaches on same large-scale, manually labeled MLCQ dataset. Almost every proposes tests this dataset unique study. Consequently, cannot directly compare reported performances derive best-performing

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Code smells

s, titles and keywords were analysed by VOSviewer using default parameters. All common terms like study, baseline, control group, trend, method were excluded from the analysis. Three maps were induced (1) clustered landscapes presenting popularity of terms (more popular terms are presented in larger squares), associations between terms (terms locted near each other are stongly associated) and r...

متن کامل

Automatic source code reduction

The aim of this paper is to introduce Reductor, a program that automatically removes unused parts of the source code of valid programs written in the Mercury language. Reductor implements two main kinds of reductions: statical reduction and dynamical reduction. In the statical reduction, Reductor exploits semantic analysis of the Melbourne Mercury Compiler to find routines which can be removed ...

متن کامل

Profile Detection Through Source Code Static Analysis

The present article reflects the progress of an ongoing master’s dissertation on language engineering. The main goal of the work here described, is to infer a programmer’s profile through the analysis of his source code. After such analysis the programmer shall be placed on a scale that characterizes him on his language abilities. There are several potential applications for such profiling, nam...

متن کامل

How Do Community Smells Influence Code Smells?

Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the sameway, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine opensource systems. ...

متن کامل

Investigating the Role of Code Smells in Preventive Maintenance

The quest for improving the software quality has given rise to various studies which focus on the enhancement of the quality of software through various processes. Code smells, which are indicators of the software quality have not been put to an extensive study for as to determine their role in the prediction of defects in the software. This study aims to investigate the role of code smells in ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Expert Systems With Applications

سال: 2022

ISSN: ['1873-6793', '0957-4174']

DOI: https://doi.org/10.1016/j.eswa.2022.117607